home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Forever 4
/
Atari Forever 4.zip
/
Atari Forever 4.iso
/
SERIE_DM
/
DM_154
/
DM_154.MSA
/
TCBVIEW.LST
< prev
next >
Wrap
File List
|
1986-02-06
|
2KB
|
113 lines
' Hurra! ein Module hat am Anfang den SNG!
' TCB View - liest das TCB Soundtracker Songformat (Atari)
' 2 Bytes für einen Eintrag = 1 Byte Notenwert + 1 Byte Attribut
'
' "AN COOL!": Byte 1-8
' Byte 9-11: 00
' Anzahl Patterns: Byte 12
' Speed: Byte 13
' Byte 14: 00
' Patternliste: ab Byte 15 (128 Bytes)
' Länge der Patternliste: Byte 143
' Byte 144: 00
' Sampleliste: ab Byte 145 (128 Bytes)
' Patterns: ab Byte 273 (je 512 Bytes)
'
' CRSR DOWN: eine Seite runter
' CRSR UP : eine Seite rauf
' HELP : Byte ändern
' ESC : Speichern
' F10 : Quit
'
FILESELECT "\*.mod","",n$
IF n$=""
EDIT
ENDIF
OPEN "i",#1,n$
l=LOF(#1)
IF l>32767
l=32767
ENDIF
a$=INPUT$(l,#1)
CLOSE
'
p=273 ! Offset für Pattern 0: 273
z=0
REPEAT
IF p<1000
PRINT "0";
ENDIF
IF p<100
PRINT "0";
ENDIF
IF p<10
PRINT "0";
ENDIF
PRINT p;" ---- ";
FOR i=0 TO 7
c$=MID$(a$,p+i,1)
IF ASC(c$)<16
PRINT "0";
ENDIF
PRINT HEX$(ASC(c$));
IF i MOD 2=1
PRINT " ";
ENDIF
NEXT i
OPEN "o",#1,"vid:"
PRINT #1;MID$(a$,p,8);
CLOSE
PRINT
INC z
IF z=23
z=0
i=INP(2)
IF i=196
p=l
ENDIF
IF i=226
INPUT "Byte Nr. ",bt
PRINT "Old Value: ";
c$=MID$(a$,bt,1)
IF ASC(c$)<16
PRINT "0";
ENDIF
PRINT HEX$(ASC(c$));" <-- ";
INPUT "New Value: ",v$
MID$(a$,bt,1)=CHR$(VAL("&"+v$))
p=p-8*23
ENDIF
IF i=27
FILESELECT "\*.sng","",n$
IF n$<>""
OPEN "o",#1,n$
PRINT #1;a$;
CLOSE
ENDIF
p=p-8*23
ENDIF
IF i=200
p=p-2*8*23
ENDIF
CLS
ENDIF
p=p+8
UNTIL p>=l
'
CLS
PRINT "Sampleliste:"
FOR i=0 TO 15
PRINT HEX$(i);" ";MID$(a$,145+8*i,8)
NEXT i
i=INP(2)
'
CLS
PRINT "Patternliste:"
len=ASC(MID$(a$,143,1))
FOR i=0 TO len-1
PRINT i,ASC(MID$(a$,15+i))
IF (i+1) MOD 23=0
d=INP(2)
ENDIF
NEXT i